#include <iostream>
#include <fstream>
#include "..\utils.h"
#include <cmath>
using namespace std;
struct Grid{
  double value;
  double pd, pr;
}g[1010][1010];
int n, m;
void dp(){
  for(int i = n - 1; i >= 0; i--){
    for(int j = m - 1; j >= 0; j--){
      g[i][j].value += g[i + 1][j].value * g[i][j].pd + g[i][j + 1].value * g[i][j].pr; 
    }
  }
}
int main(){
  // 对于生成的k组数据，得出k组解，并写入out文件
  for(int k = 1; k <= 10; k++){
    for(int i = 0; i < 1010; i++){
      for(int j = 0; j < 1010; j++){
        g[i][j].value = g[i][j].pd = g[i][j].pr= 0;
      }
    }

    // 文件流
    string no = to_string(k);
    ofstream cout = createOutputFStream(no + ".out");
    ifstream cin = createInputFStream(no + ".in");

    ios::sync_with_stdio(false);
    cin.tie(0);
    cin >> n >> m;

    for(int i = 0; i < n; i++){
      for(int j = 0; j < m; j++){
        cin >> g[i][j].value;
      }
    }
    for(int i = 0; i < n; i++){
      for(int j = 0; j < m; j++){
        double p;
        cin >> p;
        g[i][j].pd = p / 100;
        g[i][j].pr = 1 - p / 100;
      }
    }
    dp();
    printf("%lf\n", g[0][0].value);

    char ans[100];
    sprintf(ans, "%.0lf", g[0][0].value);
    cout << ans << endl;

  }

  
 
}